import 'dart:convert';

import 'package:cotton_candy/utils/tip.dart';
import 'package:dio/dio.dart';

Dio _net;

void _initNet() {
  // 实例化dio，并做公共配置
  _net = Dio(BaseOptions(baseUrl: 'http://10.0.2.124:8080'))
    // 添加拦截器
    ..interceptors.add(InterceptorsWrapper(
      // 请求数据拦截，追加token
      // 返回数据拦截，string转map后再输出
      onResponse: (Response response) {
        return json.decode(response.data.toString());
      },
      // 错误信息拦截
      onError: (e) {
        String text;
        if (e.response.statusCode == 500) {
          text = '服务器错误';
        } else if (e.type == DioErrorType.DEFAULT) {
          text = '服务器无响应';
        } else {
          text = '未知错误';
        }
        tip(text);
      },
    ));
}

// 初始化net，在main中调用一次即可
Dio net() {
  if (_net == null) {
    _initNet();
  }
  return _net;
}
